Since the advent of computer systems, there has been a continuous push to reduce production costs in order to provide quality systems at reduced monetary costs. One major factor that increases production costs is the expense associated with interchip connections. The number of pins that are necessary to make chip connections increase production costs of a computer system. As a result, there is an ever-increasing demand to make inter-chip connections fast and narrow.
In typical chipsets, the two major classes of data traffic are best effort (or asynchronous (i.e., traffic must eventually be delivered)) and critical (or isochronous (i.e., data must be delivered within a specified time)). In computer systems where best effort and critical traffic classes compete for a shared resource, the quality of service received by critical traffic can generally be improved if arbitration for the resource is aware of the class of the pending requests. However, the arbiter for the shared resource typically cannot distinguish whether a pending request is best effort or critical. As a result, the arbiter must either assume all requests are best effort or assume all requests are critical.
Assuming all requests are best effort may result in poor latency if a pending request is actually critical since a plurality of requests from one device competing for the resource may be completed before granting access to another device. Assuming all requests are critical results in alternating between each competing device on a request by request basis. The alternating scheme results in tighter latency for critical performance. Nevertheless, there is degradation in performance for best effort requests because of the cost of turnarounds. Each turnaround consumes one or more clock cycles on the interface for electrical turnaround. Thus in the presence of back to back best effort requests there is a degradation of effective bandwidth due to the wasted clocks for interface turnaround. One method of distinguishing whether a pending request is best effort or critical is to add a pin for each type of request at each device competing for the shared resource. However, the addition results in an extra two pins at each device. The addition of such a high quantity of pins is undesirable since it results in an increase of cost. Therefore, a method and apparatus for signaling of critical and best effort requests is desired.